export interface OrderModel {
  // ========== 订单基本信息 ==========
  Id?: number | null // 订单编号
  No?: string // 订单流水号
  CreateTime?: Date | null // 下单时间
  Type?: number | null // 订单类型
  Terminal?: number | null // 订单来源
  UserId?: number | null // 用户编号
  UserIp?: string // 用户 IP
  UserRemark?: string // 用户备注
  Status?: number | null // 订单状态
  ProductCount?: number | null // 购买的商品数量
  FinishTime?: Date | null // 订单完成时间
  CancelTime?: Date | null // 订单取消时间
  CancelType?: number | null // 取消类型
  Remark?: string // 商家备注

  // ========== 价格 + 支付基本信息 ==========
  PayOrderId?: number | null // 支付订单编号
  PayStatus?: boolean // 是否已支付
  PayTime?: Date | null // 付款时间
  PayChannelCode?: string // 支付渠道
  TotalPrice?: number | null // 商品原价（总）
  DiscountPrice?: number | null // 订单优惠（总）
  DeliveryPrice?: number | null // 运费金额
  AdjustPrice?: number | null // 订单调价（总）
  PayPrice?: number | null // 应付金额（总）
  // ========== 收件 + 物流基本信息 ==========
  DeliveryType?: number | null // 发货方式
  PickUpStoreId?: number // 自提门店编号
  PickUpVerifyCode?: string // 自提核销码
  DeliveryTemplateId?: number | null // 配送模板编号
  LogisticsId?: number | null // 发货物流公司编号
  LogisticsNo?: string // 发货物流单号
  DeliveryTime?: Date | null // 发货时间
  ReceiveTime?: Date | null // 收货时间
  ReceiverName?: string // 收件人名称
  ReceiverMobile?: string // 收件人手机
  ReceiverPostCode?: number | null // 收件人邮编
  ReceiverAreaId?: number | null // 收件人地区编号
  ReceiverAreaName?: string //收件人地区名字
  ReceiverDetailAddress?: string // 收件人详细地址

  // ========== 售后基本信息 ==========
  AfterSaleStatus?: number | null // 售后状态
  RefundPrice?: number | null // 退款金额

  // ========== 营销基本信息 ==========
  CouponId?: number | null // 优惠劵编号
  CouponPrice?: number | null // 优惠劵减免金额
  PointPrice?: number | null // 积分抵扣的金额
  VipPrice?: number | null // VIP 减免金额

  Items?: OrderItemRespModel[] // 订单项列表
  // 下单用户信息
  User?: {
    Id?: number | null
    Nickname?: string
    Avatar?: string
  }
  // 推广用户信息
  BrokerageUser?: {
    id?: number | null
    nickname?: string
    avatar?: string
  }
  // 订单操作日志
  Logs?: OrderLogRespModel[]
}


export interface OrderLogRespModel {
  Content?: string
  CreateTime?: Date
  UserType?: number
}

export interface OrderItemRespModel {
  // ========== 订单项基本信息 ==========
  Id?: number | null // 编号
  UserId?: number | null // 用户编号
  OrderId?: number | null // 订单编号
  // ========== 商品基本信息 ==========
  SpuId?: number | null // 商品 SPU 编号
  SpuName?: string //商品 SPU 名称
  SkuId?: number | null // 商品 SKU 编号
  PicUrl?: string //商品图片
  Count?: number | null //购买数量
  // ========== 价格 + 支付基本信息 ==========
  OriginalPrice?: number | null //商品原价（总）
  OriginalUnitPrice?: number | null //商品原价（单）
  DiscountPrice?: number | null //商品优惠（总）
  PayPrice?: number | null //商品实付金额（总）
  OrderPartPrice?: number | null //子订单分摊金额（总）
  OrderDividePrice?: number | null //分摊后子订单实付金额（总）
  // ========== 营销基本信息 ==========
  // TODO 芋艿：在捉摸一下
  // ========== 售后基本信息 ==========
  AfterSaleStatus?: number | null // 售后状态
  Properties?: ProductPropertiesModel[] //属性数组
}


export interface ProductPropertiesModel {
  PropertyId?: number | null // 属性的编号
  PropertyName?: string // 属性的名称
  ValueId?: number | null //属性值的编号
  ValueName?: string // 属性值的名称
}


export interface TradeOrderSummaryRespModel {
  /** 订单数量 */
  OrderCount?: number
  /** 订单金额 */
  OrderPayPrice?: string
  /** 退款单数 */
  AfterSaleCount?: number
  /** 退款金额 */
  AfterSalePrice?: string
}


export interface DeliveryModel {
  Id?: number // 订单编号
  LogisticsId: number | null // 物流公司编号
  LogisticsNo: string // 物流编号
}